package cn.com.service.sys;

import java.util.List;

import cn.com.commons.Paginator;
import cn.com.dal.dataobject.sys.MenuDO;
import cn.com.support.message.MessageResult;

/**
 * MenuService
 * 
 * @since 2012-3-19 下午9:52:18
 * @version 1.0
 * @author Microbun
 * 
 */
public interface MenuService {

	/**
	 * 插入菜单
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Long> insert(MenuDO obj);

	/**
	 * 更新菜单
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Integer> updateById(MenuDO obj);

	/**
	 * 删除菜单
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Integer> deleteById(Long id);

	/**
	 * 根据ID查询菜单
	 * 
	 * @param id
	 * @return
	 */
	MessageResult<MenuDO> selectById(Long id);

	/**
	 * 分页查询菜单
	 * 
	 * @param paginator
	 * @return
	 */
	<C> Paginator<C, List<MenuDO>> selectForPage(
			Paginator<C, List<MenuDO>> paginator);

	/**
	 * 清除菜单缓存
	 */
	void resetCache();
}
